Skip to content

fix: skip heavy recursion tests in debug builds#22446

Merged
ludamad merged 1 commit intomerge-train/barretenbergfrom
claudebox/selective-debug-tests
Apr 9, 2026
Merged

fix: skip heavy recursion tests in debug builds#22446
ludamad merged 1 commit intomerge-train/barretenbergfrom
claudebox/selective-debug-tests

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Apr 9, 2026

Summary

Instead of bumping timeouts for slow tests in debug mode, skip them entirely.

HonkRecursionConstraintTest and ChonkRecursionConstraintTest take 400-600s in debug builds, hitting the 600s default timeout. These are heavy recursion constraint tests that build full recursive circuits — the same code paths are already exercised (with debug assertions) by faster tests in the suite.

This replaces the timeout-bump approach from PR #22347 with Adam's suggestion to be selective about what runs in debug mode.

Supersedes #22427

ClaudeBox log: https://claudebox.work/s/c3fd56d2f55c879c?run=2

…meouts

HonkRecursionConstraintTest and ChonkRecursionConstraintTest take 400-600s in
debug mode, hitting the 600s timeout. Rather than increasing the timeout, skip
them entirely in debug builds — the same code paths are exercised by faster
tests in the suite, and the debug build's purpose (catching UB/assertions) is
well-served without these slow recursion tests.
@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Apr 9, 2026
@ludamad ludamad marked this pull request as ready for review April 9, 2026 16:05
@ludamad ludamad enabled auto-merge (squash) April 9, 2026 16:05
@ludamad ludamad merged commit 484b133 into merge-train/barretenberg Apr 9, 2026
31 of 39 checks passed
@ludamad ludamad deleted the claudebox/selective-debug-tests branch April 9, 2026 16:16
federicobarbacovi pushed a commit that referenced this pull request Apr 10, 2026
…on coverage (#22389)

## Summary
Fixes nightly barretenberg debug build failure (CI run
https://github.com/AztecProtocol/aztec-packages/actions/runs/24228497408).

**Root cause:** `AvmRecursionInnerCircuitTests.Tampering` from
`vm2_tests` timed out at 600s. CI log:
http://ci.aztec-labs.com/ee4d306df4cbfd3c

**Fix:**
1. Add `AvmRecursionInnerCircuitTests` to the debug build skip list
(matching PR #22446 pattern)
2. Reinstate
`HonkRecursionConstraintTestWithoutPredicate/1.GenerateVKFromConstraints`
(241s, well within timeout) so the debug-only
`native_verification_debug` code path in
`honk_recursion_constraint.cpp:126` is still exercised

**Debug assertion audit of all skipped suites:**
- `HonkRecursionConstraintTest`: The only unique debug code is
`native_verification_debug` (`#ifndef NDEBUG`, line 126) — a native
side-verification sanity check. All tampering tests call
`BB_DISABLE_ASSERTS()` so no debug assertions fire there. We keep
`/1.GenerateVKFromConstraints` to cover this.
- `ChonkRecursionConstraintTest`: All `BB_ASSERT_DEBUG` in `chonk.cpp`
are disabled by `BB_DISABLE_ASSERTS()` in the test. `ChonkTests`
tampering (separate binary, not skipped) still runs.
- `AvmRecursionInnerCircuitTests`: Only `BB_ASSERT_LTE` (circuit size
bounds) which is hit on the happy path by `AvmRecursiveTests`.

ClaudeBox log: https://claudebox.work/s/7d8cbad767a56122?run=5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants